JSON Data কে বিভিন্ন ফরম্যাটে রূপান্তর করা

JSON Data Filtering এবং Transformation - জেসন (JSON) - Java Technologies

346

JSON (JavaScript Object Notation) একটি জনপ্রিয় ডেটা এক্সচেঞ্জ ফরম্যাট, যা সাধারণত ওয়েব অ্যাপ্লিকেশনগুলির মধ্যে ডেটা আদান প্রদান করতে ব্যবহৃত হয়। কখনো কখনো আমাদের প্রয়োজন হয় JSON ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তর করার, যেমন XML, CSV, YAML ইত্যাদি। Java তে JSON ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তর করার জন্য কিছু জনপ্রিয় লাইব্রেরি রয়েছে, যেমন Jackson, Gson, এবং org.json

এখানে, আমরা Jackson লাইব্রেরি ব্যবহার করে JSON ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তরের কিছু উদাহরণ দেখব।

Jackson দিয়ে JSON ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তর করা


Jackson লাইব্রেরি ইনস্টল করা

Jackson লাইব্রেরি Maven এর মাধ্যমে ইনস্টল করা যেতে পারে। আপনাকে jackson-databind এবং jackson-dataformat-xml (XML রূপান্তরের জন্য) লাইব্রেরি যোগ করতে হবে।

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.3</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.12.3</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-csv</artifactId>
    <version>2.12.3</version>
</dependency>

1. JSON থেকে XML রূপান্তর

Jackson এর মাধ্যমে JSON ডেটাকে XML ফরম্যাটে রূপান্তর করার জন্য jackson-dataformat-xml লাইব্রেরি ব্যবহার করা হয়।

JSON থেকে XML রূপান্তর উদাহরণ

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlFactory;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;

class Person {
    public String name;
    public int age;
    
    // Constructor, Getters and Setters
}

public class JsonToXmlExample {
    public static void main(String[] args) throws Exception {
        // Creating a Person object
        Person person = new Person();
        person.name = "John";
        person.age = 30;
        
        // Convert to JSON first
        ObjectMapper jsonMapper = new ObjectMapper();
        String json = jsonMapper.writeValueAsString(person);
        
        // Convert JSON to XML
        XmlMapper xmlMapper = new XmlMapper(new XmlFactory());
        String xml = xmlMapper.writeValueAsString(person);
        
        System.out.println("JSON:\n" + json);
        System.out.println("XML:\n" + xml);
    }
}

আউটপুট:

JSON:
{"name":"John","age":30}

XML:
<?xml version="1.0" encoding="UTF-8"?>
<Person>
  <name>John</name>
  <age>30</age>
</Person>

2. JSON থেকে CSV রূপান্তর

Jackson লাইব্রেরির jackson-dataformat-csv মডিউল ব্যবহার করে JSON ডেটাকে CSV ফরম্যাটে রূপান্তর করা যায়।

JSON থেকে CSV রূপান্তর উদাহরণ

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.csv.CsvFactory;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;

import java.io.File;
import java.io.IOException;
import java.util.List;

class Person {
    public String name;
    public int age;
    
    // Constructor, Getters and Setters
}

public class JsonToCsvExample {
    public static void main(String[] args) throws IOException {
        // Creating a Person object
        Person person = new Person();
        person.name = "John";
        person.age = 30;
        
        // Convert to JSON first
        ObjectMapper jsonMapper = new ObjectMapper();
        List<Person> persons = List.of(person);
        
        // Convert JSON to CSV
        CsvMapper csvMapper = new CsvMapper();
        CsvSchema schema = csvMapper.schemaFor(Person.class).withHeader();
        
        // Write to CSV file
        csvMapper.writerFor(List.class).with(schema).writeValue(new File("output.csv"), persons);
        
        System.out.println("CSV file written successfully.");
    }
}

output.csv:

name,age
John,30

3. JSON থেকে YAML রূপান্তর

YAML ফরম্যাটে রূপান্তর করার জন্য jackson-dataformat-yaml লাইব্রেরি ব্যবহার করা হয়।

JSON থেকে YAML রূপান্তর উদাহরণ

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>2.12.3</version>
</dependency>
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YamlMapper;

class Person {
    public String name;
    public int age;
    
    // Constructor, Getters and Setters
}

public class JsonToYamlExample {
    public static void main(String[] args) throws Exception {
        // Creating a Person object
        Person person = new Person();
        person.name = "John";
        person.age = 30;
        
        // Convert to JSON first
        ObjectMapper jsonMapper = new ObjectMapper();
        String json = jsonMapper.writeValueAsString(person);
        
        // Convert JSON to YAML
        YamlMapper yamlMapper = new YamlMapper(new YAMLFactory());
        String yaml = yamlMapper.writeValueAsString(person);
        
        System.out.println("JSON:\n" + json);
        System.out.println("YAML:\n" + yaml);
    }
}

আউটপুট (YAML):

JSON:
{"name":"John","age":30}

YAML:
name: John
age: 30

4. JSON থেকে Plain Text রূপান্তর

JSON ডেটা একটি সহজ স্ট্রিং ফরম্যাটেও রূপান্তর করা যেতে পারে, যেখানে JSON অবজেক্টের ভিতরের মান সরাসরি পাঠ্য হিসাবে বের করা হয়।

JSON থেকে Plain Text রূপান্তর উদাহরণ

import com.fasterxml.jackson.databind.ObjectMapper;

class Person {
    public String name;
    public int age;
    
    // Constructor, Getters and Setters
}

public class JsonToPlainTextExample {
    public static void main(String[] args) throws Exception {
        // Creating a Person object
        Person person = new Person();
        person.name = "John";
        person.age = 30;
        
        // Convert to JSON first
        ObjectMapper jsonMapper = new ObjectMapper();
        String json = jsonMapper.writeValueAsString(person);
        
        // Convert JSON to Plain Text (Extract fields manually)
        String plainText = "Name: " + person.name + "\nAge: " + person.age;
        
        System.out.println("Plain Text:\n" + plainText);
    }
}

আউটপুট (Plain Text):

Plain Text:
Name: John
Age: 30

সারাংশ


Jackson লাইব্রেরি ব্যবহার করে JSON ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তর করা যায়, যেমন XML, CSV, YAML এবং সাধারণ Plain Text। Jackson এর বিভিন্ন dataformat modules যেমন jackson-dataformat-xml, jackson-dataformat-csv, এবং jackson-dataformat-yaml JSON ডেটাকে বিভিন্ন ফরম্যাটে কনভার্ট করার জন্য ব্যবহার করা যায়। এই লাইব্রেরি ব্যবহার করে আপনি JSON ডেটা সহজেই XML, CSV, YAML বা অন্যান্য ফরম্যাটে রূপান্তর করতে পারেন, যা ডেটা এক্সচেঞ্জ এবং স্টোরেজের জন্য উপযোগী।

Content added By
Promotion

Are you sure to start over?

Loading...